package com.yangye.otherdemo.classloader;

public class ClassLoaderTest {

	public static void main(String[] args) {
		// 获取系统类加载器
		ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
		System.out.println(systemClassLoader);// sun.misc.Launcher$AppClassLoader@18b4aac2

		// 获取上层：扩展类加载器
		ClassLoader extClassLoader = systemClassLoader.getParent();
		System.out.println(extClassLoader);// sun.misc.Launcher$ExtClassLoader@63961c42

		// 获取上层：获取不到引导类加载器
		ClassLoader bootstrapClassLoader = extClassLoader.getParent();
		System.out.println(bootstrapClassLoader);// null

		// 对于用户自定义的类来说，默认使用系统类加载器进行加载
		ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();
		System.out.println(classLoader);// sun.misc.Launcher$AppClassLoader@18b4aac2

		// String类使用引导类加载器加载的 ---》 java的核心类库都是使用引导类加载器加载的
		ClassLoader strClassLoader = String.class.getClassLoader();
		System.out.println(strClassLoader);// null
	}
}
